package Modelo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table (name = "facturas")
public class Factura {

	
	@Id
	@GeneratedValue
	private int nroFactura;
	
	@Column
	private Date fecha;
	
	@OneToOne
	@JoinColumn (name = "numeroPedido")
	private Pedido pedido;
	
	@Column
	private float total;
	
	@Column
	private String observaciones;
	
	
	@OneToMany (cascade = CascadeType.ALL)
	@JoinColumn (name = "nroFactura")
	private List<ItemFactura> items;
	
	
	
	public void agregarItem(ItemFactura item)
	{
		
	}
	
	public float calcularDescuento()
	{
		return 0;
	
	}
	
	public float calcularTotal ()
	{
		return 0;
		
	}

	public int getNroFactura() {
		return nroFactura;
	}

	public void setNroFactura(int nroFactura) {
		this.nroFactura = nroFactura;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public Pedido getPedido() {
		return pedido;
	}

	public void setPedido(Pedido pedido) {
		this.pedido = pedido;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public void setTotal(float total) {
		this.total = total;
	}
	
	public Factura() {
		super();
		this.items = new ArrayList <ItemFactura>();
		// TODO Auto-generated constructor stub
	}
	
}
